home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / AppleTalk.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  34.8 KB  |  1,146 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AppleTalk.a
  3. ;
  4. ;    Contains:    AppleTalk Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__APPLETALK__') = 'UNDEFINED' THEN
  18. __APPLETALK__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  24.     include 'OSUtils.a'
  25.     ENDIF
  26.  
  27.  
  28.                                                             ; Driver unit numbers (ADSP is dynamic) 
  29. mppUnitNum                        EQU        9                    ; MPP unit number 
  30. atpUnitNum                        EQU        10                    ; ATP unit number 
  31. xppUnitNum                        EQU        40                    ; XPP unit number 
  32.  
  33.                                                             ; Driver refNums (ADSP is dynamic) 
  34. mppRefNum                        EQU        -10                    ; MPP reference number 
  35. atpRefNum                        EQU        -11                    ; ATP reference number 
  36. xppRefNum                        EQU        -41                    ; XPP reference number 
  37.  
  38.                                                             ; .MPP csCodes 
  39. lookupReply                        EQU        242                    ; This command queued to ourself 
  40. writeLAP                        EQU        243                    ; Write out LAP packet 
  41. detachPH                        EQU        244                    ; Detach LAP protocol handler 
  42. attachPH                        EQU        245                    ; Attach LAP protocol handler 
  43. writeDDP                        EQU        246                    ; Write out DDP packet 
  44. closeSkt                        EQU        247                    ; Close DDP socket 
  45. openSkt                            EQU        248                    ; Open DDP socket 
  46. loadNBP                            EQU        249                    ; Load NBP command-executing code 
  47. lastResident                    EQU        249                    ; Last resident command 
  48. confirmName                        EQU        250                    ; Confirm name 
  49. lookupName                        EQU        251                    ; Look up name on internet 
  50. removeName                        EQU        252                    ; Remove name from Names Table 
  51. registerName                    EQU        253                    ; Register name in Names Table 
  52. killNBP                            EQU        254                    ; Kill outstanding NBP request 
  53. unloadNBP                        EQU        255                    ; Unload NBP command code 
  54. setSelfSend                        EQU        256                    ; MPP: Set to allow writes to self 
  55. SetMyZone                        EQU        257                    ; Set my zone name 
  56. GetATalkInfo                    EQU        258                    ; get AppleTalk information 
  57. ATalkClosePrep                    EQU        259                    ; AppleTalk close query 
  58.  
  59.                                                             ; .ATP csCodes 
  60. nSendRequest                    EQU        248                    ; NSendRequest code 
  61. relRspCB                        EQU        249                    ; Release RspCB 
  62. closeATPSkt                        EQU        250                    ; Close ATP socket 
  63. addResponse                        EQU        251                    ; Add response code | Require open skt 
  64. sendResponse                    EQU        252                    ; Send response code 
  65. getRequest                        EQU        253                    ; Get request code 
  66. openATPSkt                        EQU        254                    ; Open ATP socket 
  67. sendRequest                        EQU        255                    ; Send request code 
  68. relTCB                            EQU        256                    ; Release TCB 
  69. killGetReq                        EQU        257                    ; Kill GetRequest 
  70. killSendReq                        EQU        258                    ; Kill SendRequest 
  71. killAllGetReq                    EQU        259                    ; Kill all getRequests for a skt 
  72.  
  73.                                                             ; .XPP csCodes 
  74. openSess                        EQU        255                    ; Open session 
  75. closeSess                        EQU        254                    ; Close session 
  76. userCommand                        EQU        253                    ; User command 
  77. userWrite                        EQU        252                    ; User write 
  78. getStatus                        EQU        251                    ; Get status 
  79. afpCall                            EQU        250                    ; AFP command (buffer has command code) 
  80. getParms                        EQU        249                    ; Get parameters 
  81. abortOS                            EQU        248                    ; Abort open session request 
  82. closeAll                        EQU        247                    ; Close all open sessions 
  83. xCall                            EQU        246                    ; .XPP extended calls 
  84.  
  85.                                                             ; Transition Queue transition types 
  86. ATTransOpen                        EQU        0                    ;AppleTalk has opened
  87. ATTransClose                    EQU        2                    ;AppleTalk is about to close
  88. ATTransClosePrep                EQU        3                    ;Is it OK to close AppleTalk ?
  89. ATTransCancelClose                EQU        4                    ;Cancel the ClosePrep transition
  90.  
  91. afpByteRangeLock                EQU        1                    ;AFPCall command codes
  92. afpVolClose                        EQU        2                    ;AFPCall command codes
  93. afpDirClose                        EQU        3                    ;AFPCall command codes
  94. afpForkClose                    EQU        4                    ;AFPCall command codes
  95. afpCopyFile                        EQU        5                    ;AFPCall command codes
  96. afpDirCreate                    EQU        6                    ;AFPCall command codes
  97. afpFileCreate                    EQU        7                    ;AFPCall command codes
  98. afpDelete                        EQU        8                    ;AFPCall command codes
  99. afpEnumerate                    EQU        9                    ;AFPCall command codes
  100. afpFlush                        EQU        10                    ;AFPCall command codes
  101. afpForkFlush                    EQU        11                    ;AFPCall command codes
  102. afpGetDirParms                    EQU        12                    ;AFPCall command codes
  103. afpGetFileParms                    EQU        13                    ;AFPCall command codes
  104. afpGetForkParms                    EQU        14                    ;AFPCall command codes
  105. afpGetSInfo                        EQU        15                    ;AFPCall command codes
  106. afpGetSParms                    EQU        16                    ;AFPCall command codes
  107. afpGetVolParms                    EQU        17                    ;AFPCall command codes
  108. afpLogin                        EQU        18                    ;AFPCall command codes
  109. afpContLogin                    EQU        19                    ;AFPCall command codes
  110. afpLogout                        EQU        20                    ;AFPCall command codes
  111. afpMapID                        EQU        21                    ;AFPCall command codes
  112. afpMapName                        EQU        22                    ;AFPCall command codes
  113. afpMove                            EQU        23                    ;AFPCall command codes
  114. afpOpenVol                        EQU        24                    ;AFPCall command codes
  115. afpOpenDir                        EQU        25                    ;AFPCall command codes
  116. afpOpenFork                        EQU        26                    ;AFPCall command codes
  117. afpRead                            EQU        27                    ;AFPCall command codes
  118. afpRename                        EQU        28                    ;AFPCall command codes
  119. afpSetDirParms                    EQU        29                    ;AFPCall command codes
  120. afpSetFileParms                    EQU        30                    ;AFPCall command codes
  121. afpSetForkParms                    EQU        31                    ;AFPCall command codes
  122. afpSetVolParms                    EQU        32                    ;AFPCall command codes
  123. afpWrite                        EQU        33                    ;AFPCall command codes
  124. afpGetFlDrParms                    EQU        34                    ;AFPCall command codes
  125. afpSetFlDrParms                    EQU        35                    ;AFPCall command codes
  126. afpDTOpen                        EQU        48                    ;AFPCall command codes
  127. afpDTClose                        EQU        49                    ;AFPCall command codes
  128. afpGetIcon                        EQU        51                    ;AFPCall command codes
  129. afpGtIcnInfo                    EQU        52                    ;AFPCall command codes
  130. afpAddAPPL                        EQU        53                    ;AFPCall command codes
  131. afpRmvAPPL                        EQU        54                    ;AFPCall command codes
  132. afpGetAPPL                        EQU        55                    ;AFPCall command codes
  133. afpAddCmt                        EQU        56                    ;AFPCall command codes
  134. afpRmvCmt                        EQU        57                    ;AFPCall command codes
  135. afpGetCmt                        EQU        58                    ;AFPCall command codes
  136. afpAddIcon                        EQU        192                    ;Special code for ASP Write commands
  137.  
  138. xppLoadedBit                    EQU        5                    ; XPP bit in PortBUse 
  139. scbMemSize                        EQU        192                    ; Size of memory for SCB 
  140. xppFlagClr                        EQU        0                    ; Cs for AFPCommandBlock 
  141.  
  142. xppFlagSet                        EQU        128                    ; StartEndFlag & NewLineFlag fields. 
  143.  
  144. lapSize                            EQU        20
  145. ddpSize                            EQU        26
  146. nbpSize                            EQU        26
  147. atpSize                            EQU        56
  148.  
  149. atpXOvalue                        EQU        32                    ;ATP exactly-once bit 
  150. atpEOMvalue                        EQU        16                    ;ATP End-Of-Message bit 
  151. atpSTSvalue                        EQU        8                    ;ATP Send-Transmission-Status bit 
  152. atpTIDValidvalue                EQU        2                    ;ATP trans. ID valid bit 
  153. atpSendChkvalue                    EQU        1                    ;ATP send checksum bit 
  154.  
  155. zipGetLocalZones                EQU        5
  156. zipGetZoneList                    EQU        6
  157. zipGetMyZone                    EQU        7
  158.  
  159. LAPMgrPtr                        EQU        $0B18                ;Entry point for LAP Manager
  160.  
  161. LAPMgrCall                        EQU        2                    ;Offset to LAP routines
  162. LAddAEQ                            EQU        23                    ;LAPAddATQ routine selector
  163. LRmvAEQ                            EQU        24                    ;LAPRmvATQ routine selector
  164.  
  165. tLAPRead                        EQU        0
  166. tLAPWrite                        EQU        1
  167. tDDPRead                        EQU        2
  168. tDDPWrite                        EQU        3
  169. tNBPLookup                        EQU        4
  170. tNBPConfirm                        EQU        5
  171. tNBPRegister                    EQU        6
  172. tATPSndRequest                    EQU        7
  173. tATPGetRequest                    EQU        8
  174. tATPSdRsp                        EQU        9
  175. tATPAddRsp                        EQU        10
  176. tATPRequest                        EQU        11
  177. tATPResponse                    EQU        12
  178. ; typedef SInt8                         ABCallType
  179.  
  180.  
  181. lapProto                        EQU        0
  182. ddpProto                        EQU        1
  183. nbpProto                        EQU        2
  184. atpProto                        EQU        3
  185. ; typedef UInt8                         ABProtoType
  186.  
  187. ; typedef Byte                             ABByte
  188.  
  189. LAPAdrBlock                RECORD 0
  190. dstNodeID                 ds.b    1                ; offset: $0 (0)
  191. srcNodeID                 ds.b    1                ; offset: $1 (1)
  192. lapProtType                 ds.b    1                ; offset: $2 (2)
  193. filler                     ds.b    1                ; offset: $3 (3)        ;     Filler for proper byte alignment
  194. sizeof                     EQU *                    ; size:   $4 (4)
  195.                         ENDR
  196.  
  197.  
  198. ; typedef ATQEntry *                    ATQEntryPtr
  199.  
  200. ; typedef ATalkTransitionEventUPP         ATalkTransitionEvent
  201.  
  202. ATQEntry                RECORD 0
  203. qLink                     ds.l    1                ; offset: $0 (0)        ; next queue entry
  204. qType                     ds.w    1                ; offset: $4 (4)        ; queue type
  205. CallAddr                 ds.l    1                ; offset: $6 (6)        ; your routine descriptor
  206. sizeof                     EQU *                    ; size:   $A (10)
  207.                         ENDR
  208. ;  
  209. ;    Real definition of EntityName is 3 PACKED strings of any length (32 is just an example). No
  210. ;    offests for Asm since each String address must be calculated by adding length byte to last string ptr.
  211. ;    In Pascal, String(32) will be 34 bytes long since fields never start on an odd byte unless they are 
  212. ;    only a byte long. So this will generate correct looking interfaces for Pascal and C, but they will not
  213. ;    be the same, which is OK since they are not used. 
  214. ;
  215.  
  216. EntityName                RECORD 0
  217. objStr                     ds        Str32Field        ; offset: $0 (0)
  218. typeStr                     ds        Str32Field        ; offset: $22 (34)
  219. zoneStr                     ds        Str32Field        ; offset: $44 (68)
  220. sizeof                     EQU *                    ; size:   $66 (102)
  221.                         ENDR
  222. ; typedef struct EntityName *            EntityPtr
  223.  
  224. AddrBlock                RECORD 0
  225. aNet                     ds.w    1                ; offset: $0 (0)
  226. aNode                     ds.b    1                ; offset: $2 (2)
  227. aSocket                     ds.b    1                ; offset: $3 (3)
  228. sizeof                     EQU *                    ; size:   $4 (4)
  229.                         ENDR
  230. RetransType                RECORD 0
  231. retransInterval             ds.b    1                ; offset: $0 (0)
  232. retransCount             ds.b    1                ; offset: $1 (1)
  233. sizeof                     EQU *                    ; size:   $2 (2)
  234.                         ENDR
  235. BDSElement                RECORD 0
  236. buffSize                 ds.w    1                ; offset: $0 (0)
  237. buffPtr                     ds.l    1                ; offset: $2 (2)
  238. dataSize                 ds.w    1                ; offset: $6 (6)
  239. userBytes                 ds.l    1                ; offset: $8 (8)
  240. sizeof                     EQU *                    ; size:   $C (12)
  241.                         ENDR
  242. BDSType                    RECORD 0
  243. elements                 ds.b    8 * BDSElement.sizeof
  244. sizeof                     EQU *                    ; size:   $60 (96)
  245.                         ENDR
  246.  
  247.  
  248. ; typedef struct BDSElement *            BDSPtr
  249.  
  250. ; typedef char                             BitMapType
  251.  
  252. ATLAPRec                RECORD 0
  253. abOpcode                 ds.b    1                ; offset: $0 (0)
  254. filler                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  255. abResult                 ds.w    1                ; offset: $2 (2)
  256. abUserReference             ds.l    1                ; offset: $4 (4)
  257. lapAddress                 ds        LAPAdrBlock        ; offset: $8 (8)
  258. lapReqCount                 ds.w    1                ; offset: $C (12)
  259. lapActCount                 ds.w    1                ; offset: $E (14)
  260. lapDataPtr                 ds.l    1                ; offset: $10 (16)
  261. sizeof                     EQU *                    ; size:   $14 (20)
  262.                         ENDR
  263. ; typedef struct ATLAPRec *                ATLAPRecPtr
  264.  
  265. ; typedef ATLAPRecPtr *                    ATLAPRecHandle
  266.  
  267. ATDDPRec                RECORD 0
  268. abOpcode                 ds.b    1                ; offset: $0 (0)
  269. filler                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  270. abResult                 ds.w    1                ; offset: $2 (2)
  271. abUserReference             ds.l    1                ; offset: $4 (4)
  272. ddpType                     ds.w    1                ; offset: $8 (8)
  273. ddpSocket                 ds.w    1                ; offset: $A (10)
  274. ddpAddress                 ds        AddrBlock        ; offset: $C (12)
  275. ddpReqCount                 ds.w    1                ; offset: $10 (16)
  276. ddpActCount                 ds.w    1                ; offset: $12 (18)
  277. ddpDataPtr                 ds.l    1                ; offset: $14 (20)
  278. ddpNodeID                 ds.w    1                ; offset: $18 (24)
  279. sizeof                     EQU *                    ; size:   $1A (26)
  280.                         ENDR
  281. ; typedef struct ATDDPRec *                ATDDPRecPtr
  282.  
  283. ; typedef ATDDPRecPtr *                    ATDDPRecHandle
  284.  
  285. ATNBPRec                RECORD 0
  286. abOpcode                 ds.b    1                ; offset: $0 (0)
  287. filler                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  288. abResult                 ds.w    1                ; offset: $2 (2)
  289. abUserReference             ds.l    1                ; offset: $4 (4)
  290. nbpEntityPtr             ds.l    1                ; offset: $8 (8)
  291. nbpBufPtr                 ds.l    1                ; offset: $C (12)
  292. nbpBufSize                 ds.w    1                ; offset: $10 (16)
  293. nbpDataField             ds.w    1                ; offset: $12 (18)
  294. nbpAddress                 ds        AddrBlock        ; offset: $14 (20)
  295. nbpRetransmitInfo         ds        RetransType        ; offset: $18 (24)
  296. sizeof                     EQU *                    ; size:   $1A (26)
  297.                         ENDR
  298. ; typedef struct ATNBPRec *                ATNBPRecPtr
  299.  
  300. ; typedef ATNBPRecPtr *                    ATNBPRecHandle
  301.  
  302. ATATPRec                RECORD 0
  303. abOpcode                 ds.b    1                ; offset: $0 (0)
  304. filler1                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  305. abResult                 ds.w    1                ; offset: $2 (2)
  306. abUserReference             ds.l    1                ; offset: $4 (4)
  307. atpSocket                 ds.w    1                ; offset: $8 (8)
  308. atpAddress                 ds        AddrBlock        ; offset: $A (10)
  309. atpReqCount                 ds.w    1                ; offset: $E (14)
  310. atpDataPtr                 ds.l    1                ; offset: $10 (16)
  311. atpRspBDSPtr             ds.l    1                ; offset: $14 (20)
  312. atpBitMap                 ds.b    1                ; offset: $18 (24)
  313. filler2                     ds.b    1                ; offset: $19 (25)        ;     Filler for proper byte alignment
  314. atpTransID                 ds.w    1                ; offset: $1A (26)
  315. atpActCount                 ds.w    1                ; offset: $1C (28)
  316. atpUserData                 ds.l    1                ; offset: $1E (30)
  317. atpXO                     ds.b    1                ; offset: $22 (34)
  318. atpEOM                     ds.b    1                ; offset: $23 (35)
  319. atpTimeOut                 ds.w    1                ; offset: $24 (36)
  320. atpRetries                 ds.w    1                ; offset: $26 (38)
  321. atpNumBufs                 ds.w    1                ; offset: $28 (40)
  322. atpNumRsp                 ds.w    1                ; offset: $2A (42)
  323. atpBDSSize                 ds.w    1                ; offset: $2C (44)
  324. atpRspUData                 ds.l    1                ; offset: $2E (46)
  325. atpRspBuf                 ds.l    1                ; offset: $32 (50)
  326. atpRspSize                 ds.w    1                ; offset: $36 (54)
  327. sizeof                     EQU *                    ; size:   $38 (56)
  328.                         ENDR
  329. ; typedef struct ATATPRec *                ATATPRecPtr
  330.  
  331. ; typedef ATATPRecPtr *                    ATATPRecHandle
  332.  
  333. AFPCommandBlock            RECORD 0
  334. cmdByte                     ds.b    1                ; offset: $0 (0)
  335. startEndFlag             ds.b    1                ; offset: $1 (1)
  336. forkRefNum                 ds.w    1                ; offset: $2 (2)
  337. rwOffset                 ds.l    1                ; offset: $4 (4)
  338. reqCount                 ds.l    1                ; offset: $8 (8)
  339. newLineFlag                 ds.b    1                ; offset: $C (12)
  340. newLineChar                 ds.b    1                ; offset: $D (13)
  341. sizeof                     EQU *                    ; size:   $E (14)
  342.                         ENDR
  343. ; typedef MPPParamBlock *                MPPPBPtr
  344.  
  345. ; typedef ATPParamBlock *                ATPPBPtr
  346.  
  347. ; typedef XPPParamBlock *                XPPParmBlkPtr
  348.  
  349.  
  350. WDSElement                RECORD 0
  351. entryLength                 ds.w    1                ; offset: $0 (0)
  352. entryPtr                 ds.l    1                ; offset: $2 (2)
  353. sizeof                     EQU *                    ; size:   $6 (6)
  354.                         ENDR
  355. NTElement                RECORD 0
  356. nteAddress                 ds        AddrBlock        ; offset: $0 (0)        ; network address of entity
  357. filler                     ds.b    1                ; offset: $4 (4)
  358. entityData                 ds.b    99                ; offset: $5 (5)        ; Object, Type & Zone
  359. sizeof                     EQU *                    ; size:   $68 (104)
  360.                         ENDR
  361. NamesTableEntry            RECORD 0
  362. qNext                     ds.l    1                ; offset: $0 (0)        ; ptr to next NTE
  363. nt                         ds        NTElement        ; offset: $4 (4)
  364. sizeof                     EQU *                    ; size:   $6C (108)
  365.                         ENDR
  366. ;    MPPProtocolHandlerProcs and  DDPSocketListenerProcs cannot be written 
  367. ;    in or called from a high-level language without the help of mixed mode 
  368. ;    or assembly glue because they use the following parameter-passing conventions:
  369. ;
  370. ;    typedef Boolean (*MPPProtocolHandlerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2, 
  371. ;            Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, 
  372. ;            short numBytesLeftToReadInPacket);
  373. ;
  374. ;        In:
  375. ;            =>    SCCAddr1                    A0.L
  376. ;            =>    SCCAddr2                    A1.L
  377. ;            =>    MPPLocalVars                A2.L
  378. ;            =>    nextFreeByteInRHA            A3.L
  379. ;            =>    ReadPacketAndReadRestPtr    A4.L
  380. ;            =>    numBytesLeftToReadInPacket    D1.W
  381. ;        Out:
  382. ;            <=    Boolean                        Z bit of CCR
  383. ;
  384. ;    typedef Boolean (*DDPSocketListenerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2, 
  385. ;            Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, 
  386. ;            UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket);
  387. ;
  388. ;        In:
  389. ;            =>    SCCAddr1                    A0.L
  390. ;            =>    SCCAddr2                    A1.L
  391. ;            =>    MPPLocalVars                A2.L
  392. ;            =>    nextFreeByteInRHA            A3.L
  393. ;            =>    ReadPacketAndReadRestPtr    A4.L
  394. ;            =>    packetDestinationNumber        D0.B
  395. ;            =>    numBytesLeftToReadInPacket    D1.W
  396. ;        Out:
  397. ;            <=    Boolean                        Z bit of CCR
  398. ;
  399. ;
  400.  
  401. MPPParamBlock            RECORD 0
  402. qLink                     ds.l    1                ; offset: $0 (0)        ; next queue entry
  403. qType                     ds.w    1                ; offset: $4 (4)        ; queue type
  404. ioTrap                     ds.w    1                ; offset: $6 (6)        ; routine trap
  405. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; routine address
  406. ioCompletion             ds.l    1                ; offset: $C (12)        ; ATPCompletionUPP or MPPCompletionUPP
  407. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  408. userData                 ds.l    1                ; offset: $12 (18)        ; Command result (ATP user bytes)
  409. reqTID                     ds.w    1                ; offset: $16 (22)        ; request transaction ID
  410. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; driver reference number
  411. csCode                     ds.w    1                ; offset: $1A (26)        ; Call command code
  412. filler0                     ds.w    1                ; offset: $1C (28)
  413. wdsPointer                 ds.l    1                ; offset: $1E (30)
  414.                          ORG 28
  415. protType                 ds.b    1                ; offset: $1C (28)
  416. filler                     ds.b    1                ; offset: $1D (29)
  417. handler                     ds.l    1                ; offset: $1E (30)
  418.                          ORG 28
  419. socket                     ds.b    1                ; offset: $1C (28)
  420. checksumFlag             ds.b    1                ; offset: $1D (29)
  421. listener                 ds.l    1                ; offset: $1E (30)
  422.                          ORG 28
  423. interval                 ds.b    1                ; offset: $1C (28)        ; retry interval 
  424. count                     ds.b    1                ; offset: $1D (29)        ; retry count 
  425. nbpPtrs                     ds.l    1                ; offset: $1E (30)
  426. verifyFlag                 ds.b    1                ; offset: $22 (34)
  427. filler3                     ds.b    1                ; offset: $23 (35)
  428.                          ORG 34
  429. retBuffPtr                 ds.l    1                ; offset: $22 (34)
  430. retBuffSize                 ds.w    1                ; offset: $26 (38)
  431. maxToGet                 ds.w    1                ; offset: $28 (40)
  432. numGotten                 ds.w    1                ; offset: $2A (42)
  433.                          ORG 34
  434. confirmAddr                 ds        AddrBlock        ; offset: $22 (34)
  435. newSocket                 ds.b    1                ; offset: $26 (38)
  436. filler4                     ds.b    1                ; offset: $27 (39)
  437.                          ORG 44
  438.                          ORG 28
  439. newSelfFlag                 ds.b    1                ; offset: $1C (28)        ; self-send toggle flag 
  440. oldSelfFlag                 ds.b    1                ; offset: $1D (29)        ; previous self-send state 
  441.                          ORG 28
  442. nKillQEl                 ds.l    1                ; offset: $1C (28)        ; ptr to i/o queue element to cancel 
  443.                          ORG 28
  444. version                     ds.w    1                ; offset: $1C (28)        ; requested info version
  445. varsPtr                     ds.l    1                ; offset: $1E (30)        ; pointer to well known MPP vars
  446. DCEPtr                     ds.l    1                ; offset: $22 (34)        ; pointer to MPP DCE
  447. portID                     ds.w    1                ; offset: $26 (38)        ; port number [0..7]
  448. configuration             ds.l    1                ; offset: $28 (40)        ; 32-bit configuration word
  449. selfSend                 ds.w    1                ; offset: $2C (44)        ; non zero if SelfSend enabled
  450. netLo                     ds.w    1                ; offset: $2E (46)        ; low value of network range
  451. netHi                     ds.w    1                ; offset: $30 (48)        ; high value of network range
  452. ourAdd                     ds.l    1                ; offset: $32 (50)        ; our 24-bit AppleTalk address
  453. routerAddr                 ds.l    1                ; offset: $36 (54)        ; 24-bit address of (last) router
  454. numOfPHs                 ds.w    1                ; offset: $3A (58)        ; max. number of protocol handlers
  455. numOfSkts                 ds.w    1                ; offset: $3C (60)        ; max. number of static sockets
  456. numNBPEs                 ds.w    1                ; offset: $3E (62)        ; max. concurrent NBP requests
  457. nTQueue                     ds.l    1                ; offset: $40 (64)        ; pointer to registered name queue
  458. LAlength                 ds.w    1                ; offset: $44 (68)        ; length in bytes of data link addr
  459. linkAddr                 ds.l    1                ; offset: $46 (70)        ; data link address returned
  460. zoneName                 ds.l    1                ; offset: $4A (74)        ; zone name returned
  461.                          ORG 28
  462. appName                     ds.l    1                ; offset: $1C (28)        ; pointer to application name in buffer
  463.                          ORG 78
  464. sizeof                     EQU *                    ; size:   $4E (78)
  465.                         ENDR
  466.  
  467. XPPParamBlock            RECORD 0
  468. qLink                     ds.l    1                ; offset: $0 (0)
  469. qType                     ds.w    1                ; offset: $4 (4)
  470. ioTrap                     ds.w    1                ; offset: $6 (6)
  471. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  472. ioCompletion             ds.l    1                ; offset: $C (12)
  473. ioResult                 ds.w    1                ; offset: $10 (16)
  474. cmdResult                 ds.l    1                ; offset: $12 (18)
  475. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  476. ioRefNum                 ds.w    1                ; offset: $18 (24)
  477. csCode                     ds.w    1                ; offset: $1A (26)
  478. abortSCBPtr                 ds.l    1                ; offset: $1C (28)        ;  SCB pointer for AbortOS
  479.                          ORG 28
  480. aspMaxCmdSize             ds.w    1                ; offset: $1C (28)        ; For SPGetParms
  481. aspQuantumSize             ds.w    1                ; offset: $1E (30)
  482. numSesss                 ds.w    1                ; offset: $20 (32)
  483.                          ORG 28
  484. sessRefnum                 ds.w    1                ; offset: $1C (28)        ; Offset to session refnum 
  485. aspTimeout                 ds.b    1                ; offset: $1E (30)        ; Timeout for ATP 
  486. aspRetry                 ds.b    1                ; offset: $1F (31)        ; Retry count for ATP 
  487. serverAddr                 ds        AddrBlock        ; offset: $20 (32)        ; Server address block 
  488. scbPointer                 ds.l    1                ; offset: $24 (36)        ; SCB pointer 
  489. attnRoutine                 ds.l    1                ; offset: $28 (40)        ; Attention routine pointer
  490.                          ORG 32
  491. cbSize                     ds.w    1                ; offset: $20 (32)        ; Command block size 
  492. cbPtr                     ds.l    1                ; offset: $22 (34)        ; Command block pointer 
  493. rbSize                     ds.w    1                ; offset: $26 (38)        ; Reply buffer size 
  494. rbPtr                     ds.l    1                ; offset: $28 (40)        ; Reply buffer pointer 
  495. afpAddrBlock             ds        AddrBlock        ; offset: $2C (44)        ; block in AFP login 
  496. afpSCBPtr                 ds.l    1                ; offset: $30 (48)        ; SCB pointer in AFP login 
  497. afpAttnRoutine             ds.l    1                ; offset: $34 (52)        ; routine pointer in AFP login 
  498.                          ORG 44
  499. wdSize                     ds.w    1                ; offset: $2C (44)        ; Write Data size
  500. wdPtr                     ds.l    1                ; offset: $2E (46)        ; Write Data pointer
  501. ccbStart                 ds.b    296                ; offset: $32 (50)        ; CCB memory allocated for driver afpWrite max size(CCB)=296 all other calls=150
  502.                          ORG 28
  503. xppSubCode                 ds.w    1                ; offset: $1C (28)
  504. xppTimeout                 ds.b    1                ; offset: $1E (30)        ; retry interval (seconds)
  505. xppRetry                 ds.b    1                ; offset: $1F (31)        ; retry count
  506. filler1                     ds.w    1                ; offset: $20 (32)
  507. zipBuffPtr                 ds.l    1                ; offset: $22 (34)        ; pointer to buffer (must be 578 bytes)
  508. zipNumZones                 ds.w    1                ; offset: $26 (38)        ; no. of zone names in this response
  509. zipLastFlag                 ds.b    1                ; offset: $28 (40)        ; non-zero if no more zones
  510. filler2                     ds.b    1                ; offset: $29 (41)        ; filler
  511. zipInfoField             ds.b    70                ; offset: $2A (42)        ; on initial call, set first word to zero
  512.                          ORG 346
  513. sizeof                     EQU *                    ; size:   $15A (346)
  514.                         ENDR
  515. ATPParamBlock            RECORD 0
  516. qLink                     ds.l    1                ; offset: $0 (0)        ; next queue entry
  517. qType                     ds.w    1                ; offset: $4 (4)        ; queue type
  518. ioTrap                     ds.w    1                ; offset: $6 (6)        ; routine trap
  519. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; routine address
  520. ioCompletion             ds.l    1                ; offset: $C (12)        ; ATPCompletionUPP or MPPCompletionUPP
  521. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  522. userData                 ds.l    1                ; offset: $12 (18)        ; Command result (ATP user bytes)
  523. reqTID                     ds.w    1                ; offset: $16 (22)        ; request transaction ID
  524. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; driver reference number
  525. csCode                     ds.w    1                ; offset: $1A (26)        ; Call command code
  526. atpSocket                 ds.b    1                ; offset: $1C (28)        ; currbitmap for requests or ATP socket number
  527. atpFlags                 ds.b    1                ; offset: $1D (29)        ; control information
  528. addrBlock                 ds        AddrBlock        ; offset: $1E (30)        ; source/dest. socket address
  529. reqLength                 ds.w    1                ; offset: $22 (34)        ; request/response length
  530. reqPointer                 ds.l    1                ; offset: $24 (36)        ; ->request/response Data
  531. bdsPointer                 ds.l    1                ; offset: $28 (40)        ; ->response BDS 
  532. numOfBuffs                 ds.b    1                ; offset: $2C (44)        ; numOfBuffs 
  533. timeOutVal                 ds.b    1                ; offset: $2D (45)        ; timeout interval 
  534. numOfResps                 ds.b    1                ; offset: $2E (46)        ; number of responses actually received 
  535. retryCount                 ds.b    1                ; offset: $2F (47)        ; number of retries 
  536. intBuff                     ds.w    1                ; offset: $30 (48)        ; used internally for NSendRequest 
  537. TRelTime                 ds.b    1                ; offset: $32 (50)        ; TRelease time for extended send request 
  538. filler0                     ds.b    1                ; offset: $33 (51)
  539.                          ORG 44
  540. filler                     ds.b    1                ; offset: $2C (44)
  541. bdsSize                     ds.b    1                ; offset: $2D (45)        ; number of BDS elements 
  542. transID                     ds.w    1                ; offset: $2E (46)        ; transaction ID recd. 
  543.                          ORG 44
  544. bitMap                     ds.b    1                ; offset: $2C (44)
  545. filler2                     ds.b    1                ; offset: $2D (45)
  546.                          ORG 44
  547. rspNum                     ds.b    1                ; offset: $2C (44)
  548. filler3                     ds.b    1                ; offset: $2D (45)
  549.                          ORG 44
  550. aKillQEl                 ds.l    1                ; offset: $2C (44)        ; ptr to i/o queue element to cancel
  551.                          ORG 52
  552. sizeof                     EQU *                    ; size:   $34 (52)
  553.                         ENDR
  554. ;
  555. ; pascal OSErr OpenXPP(short *xppRefnum)
  556. ;
  557.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  558.         IMPORT_CFM_FUNCTION OpenXPP
  559.     ENDIF
  560.  
  561. ;
  562. ; pascal OSErr ASPOpenSession(XPPParmBlkPtr thePBptr, Boolean async)
  563. ;
  564.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  565.         IMPORT_CFM_FUNCTION ASPOpenSession
  566.     ENDIF
  567.  
  568. ;
  569. ; pascal OSErr ASPCloseSession(XPPParmBlkPtr thePBptr, Boolean async)
  570. ;
  571.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  572.         IMPORT_CFM_FUNCTION ASPCloseSession
  573.     ENDIF
  574.  
  575. ;
  576. ; pascal OSErr ASPAbortOS(XPPParmBlkPtr thePBptr, Boolean async)
  577. ;
  578.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  579.         IMPORT_CFM_FUNCTION ASPAbortOS
  580.     ENDIF
  581.  
  582. ;
  583. ; pascal OSErr ASPGetParms(XPPParmBlkPtr thePBptr, Boolean async)
  584. ;
  585.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  586.         IMPORT_CFM_FUNCTION ASPGetParms
  587.     ENDIF
  588.  
  589. ;
  590. ; pascal OSErr ASPCloseAll(XPPParmBlkPtr thePBptr, Boolean async)
  591. ;
  592.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  593.         IMPORT_CFM_FUNCTION ASPCloseAll
  594.     ENDIF
  595.  
  596. ;
  597. ; pascal OSErr ASPUserWrite(XPPParmBlkPtr thePBptr, Boolean async)
  598. ;
  599.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  600.         IMPORT_CFM_FUNCTION ASPUserWrite
  601.     ENDIF
  602.  
  603. ;
  604. ; pascal OSErr ASPUserCommand(XPPParmBlkPtr thePBptr, Boolean async)
  605. ;
  606.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  607.         IMPORT_CFM_FUNCTION ASPUserCommand
  608.     ENDIF
  609.  
  610. ;
  611. ; pascal OSErr ASPGetStatus(XPPParmBlkPtr thePBptr, Boolean async)
  612. ;
  613.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  614.         IMPORT_CFM_FUNCTION ASPGetStatus
  615.     ENDIF
  616.  
  617. ;
  618. ; pascal OSErr AFPCommand(XPPParmBlkPtr thePBptr, Boolean async)
  619. ;
  620.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  621.         IMPORT_CFM_FUNCTION AFPCommand
  622.     ENDIF
  623.  
  624. ;
  625. ; pascal OSErr GetLocalZones(XPPParmBlkPtr thePBptr, Boolean async)
  626. ;
  627.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  628.         IMPORT_CFM_FUNCTION GetLocalZones
  629.     ENDIF
  630.  
  631. ;
  632. ; pascal OSErr GetZoneList(XPPParmBlkPtr thePBptr, Boolean async)
  633. ;
  634.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  635.         IMPORT_CFM_FUNCTION GetZoneList
  636.     ENDIF
  637.  
  638. ;
  639. ; pascal OSErr GetMyZone(XPPParmBlkPtr thePBptr, Boolean async)
  640. ;
  641.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  642.         IMPORT_CFM_FUNCTION GetMyZone
  643.     ENDIF
  644.  
  645. ;
  646. ; pascal OSErr PAttachPH(MPPPBPtr thePBptr, Boolean async)
  647. ;
  648.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  649.         IMPORT_CFM_FUNCTION PAttachPH
  650.     ENDIF
  651.  
  652. ;
  653. ; pascal OSErr PDetachPH(MPPPBPtr thePBptr, Boolean async)
  654. ;
  655.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  656.         IMPORT_CFM_FUNCTION PDetachPH
  657.     ENDIF
  658.  
  659. ;
  660. ; pascal OSErr PWriteLAP(MPPPBPtr thePBptr, Boolean async)
  661. ;
  662.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  663.         IMPORT_CFM_FUNCTION PWriteLAP
  664.     ENDIF
  665.  
  666. ;
  667. ; pascal OSErr POpenSkt(MPPPBPtr thePBptr, Boolean async)
  668. ;
  669.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  670.         IMPORT_CFM_FUNCTION POpenSkt
  671.     ENDIF
  672.  
  673. ;
  674. ; pascal OSErr PCloseSkt(MPPPBPtr thePBptr, Boolean async)
  675. ;
  676.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  677.         IMPORT_CFM_FUNCTION PCloseSkt
  678.     ENDIF
  679.  
  680. ;
  681. ; pascal OSErr PWriteDDP(MPPPBPtr thePBptr, Boolean async)
  682. ;
  683.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  684.         IMPORT_CFM_FUNCTION PWriteDDP
  685.     ENDIF
  686.  
  687. ;
  688. ; pascal OSErr PRegisterName(MPPPBPtr thePBptr, Boolean async)
  689. ;
  690.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  691.         IMPORT_CFM_FUNCTION PRegisterName
  692.     ENDIF
  693.  
  694. ;
  695. ; pascal OSErr PLookupName(MPPPBPtr thePBptr, Boolean async)
  696. ;
  697.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  698.         IMPORT_CFM_FUNCTION PLookupName
  699.     ENDIF
  700.  
  701. ;
  702. ; pascal OSErr PConfirmName(MPPPBPtr thePBptr, Boolean async)
  703. ;
  704.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  705.         IMPORT_CFM_FUNCTION PConfirmName
  706.     ENDIF
  707.  
  708. ;
  709. ; pascal OSErr PRemoveName(MPPPBPtr thePBptr, Boolean async)
  710. ;
  711.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  712.         IMPORT_CFM_FUNCTION PRemoveName
  713.     ENDIF
  714.  
  715. ;
  716. ; pascal OSErr PSetSelfSend(MPPPBPtr thePBptr, Boolean async)
  717. ;
  718.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  719.         IMPORT_CFM_FUNCTION PSetSelfSend
  720.     ENDIF
  721.  
  722. ;
  723. ; pascal OSErr PKillNBP(MPPPBPtr thePBptr, Boolean async)
  724. ;
  725.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  726.         IMPORT_CFM_FUNCTION PKillNBP
  727.     ENDIF
  728.  
  729. ;
  730. ; pascal OSErr PGetAppleTalkInfo(MPPPBPtr thePBptr, Boolean async)
  731. ;
  732.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  733.         IMPORT_CFM_FUNCTION PGetAppleTalkInfo
  734.     ENDIF
  735.  
  736. ;
  737. ; pascal OSErr PATalkClosePrep(MPPPBPtr thePBptr, Boolean async)
  738. ;
  739.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  740.         IMPORT_CFM_FUNCTION PATalkClosePrep
  741.     ENDIF
  742.  
  743. ;
  744. ; pascal OSErr POpenATPSkt(ATPPBPtr thePBptr, Boolean async)
  745. ;
  746.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  747.         IMPORT_CFM_FUNCTION POpenATPSkt
  748.     ENDIF
  749.  
  750. ;
  751. ; pascal OSErr PCloseATPSkt(ATPPBPtr thePBPtr, Boolean async)
  752. ;
  753.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  754.         IMPORT_CFM_FUNCTION PCloseATPSkt
  755.     ENDIF
  756.  
  757. ;
  758. ; pascal OSErr PSendRequest(ATPPBPtr thePBPtr, Boolean async)
  759. ;
  760.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  761.         IMPORT_CFM_FUNCTION PSendRequest
  762.     ENDIF
  763.  
  764. ;
  765. ; pascal OSErr PGetRequest(ATPPBPtr thePBPtr, Boolean async)
  766. ;
  767.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  768.         IMPORT_CFM_FUNCTION PGetRequest
  769.     ENDIF
  770.  
  771. ;
  772. ; pascal OSErr PSendResponse(ATPPBPtr thePBPtr, Boolean async)
  773. ;
  774.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  775.         IMPORT_CFM_FUNCTION PSendResponse
  776.     ENDIF
  777.  
  778. ;
  779. ; pascal OSErr PAddResponse(ATPPBPtr thePBPtr, Boolean async)
  780. ;
  781.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  782.         IMPORT_CFM_FUNCTION PAddResponse
  783.     ENDIF
  784.  
  785. ;
  786. ; pascal OSErr PRelTCB(ATPPBPtr thePBPtr, Boolean async)
  787. ;
  788.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  789.         IMPORT_CFM_FUNCTION PRelTCB
  790.     ENDIF
  791.  
  792. ;
  793. ; pascal OSErr PRelRspCB(ATPPBPtr thePBPtr, Boolean async)
  794. ;
  795.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  796.         IMPORT_CFM_FUNCTION PRelRspCB
  797.     ENDIF
  798.  
  799. ;
  800. ; pascal OSErr PNSendRequest(ATPPBPtr thePBPtr, Boolean async)
  801. ;
  802.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  803.         IMPORT_CFM_FUNCTION PNSendRequest
  804.     ENDIF
  805.  
  806. ;
  807. ; pascal OSErr PKillSendReq(ATPPBPtr thePBPtr, Boolean async)
  808. ;
  809.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  810.         IMPORT_CFM_FUNCTION PKillSendReq
  811.     ENDIF
  812.  
  813. ;
  814. ; pascal OSErr PKillGetReq(ATPPBPtr thePBPtr, Boolean async)
  815. ;
  816.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  817.         IMPORT_CFM_FUNCTION PKillGetReq
  818.     ENDIF
  819.  
  820. ;
  821. ; pascal OSErr ATPKillAllGetReq(ATPPBPtr thePBPtr, Boolean async)
  822. ;
  823.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  824.         IMPORT_CFM_FUNCTION ATPKillAllGetReq
  825.     ENDIF
  826.  
  827. ;
  828. ; pascal void BuildLAPwds(Ptr wdsPtr, Ptr dataPtr, short destHost, short prototype, short frameLen)
  829. ;
  830.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  831.         IMPORT_CFM_FUNCTION BuildLAPwds
  832.     ENDIF
  833.  
  834. ;
  835. ; pascal void BuildDDPwds(Ptr wdsPtr, Ptr headerPtr, Ptr dataPtr, AddrBlock netAddr, short ddpType, short dataLen)
  836. ;
  837.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  838.         IMPORT_CFM_FUNCTION BuildDDPwds
  839.     ENDIF
  840.  
  841. ;
  842. ; pascal void NBPSetEntity(Ptr buffer, ConstStr32Param nbpObject, ConstStr32Param nbpType, ConstStr32Param nbpZone)
  843. ;
  844.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  845.         IMPORT_CFM_FUNCTION NBPSetEntity
  846.     ENDIF
  847.  
  848. ;
  849. ; pascal void NBPSetNTE(Ptr ntePtr, ConstStr32Param nbpObject, ConstStr32Param nbpType, ConstStr32Param nbpZone, short socket)
  850. ;
  851.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  852.         IMPORT_CFM_FUNCTION NBPSetNTE
  853.     ENDIF
  854.  
  855. ;
  856. ; pascal short GetBridgeAddress(void )
  857. ;
  858.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  859.         IMPORT_CFM_FUNCTION GetBridgeAddress
  860.     ENDIF
  861.  
  862. ;
  863. ; pascal short BuildBDS(Ptr buffPtr, Ptr bdsPtr, short buffSize)
  864. ;
  865.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  866.         IMPORT_CFM_FUNCTION BuildBDS
  867.     ENDIF
  868.  
  869. ;
  870. ; pascal OSErr MPPOpen(void )
  871. ;
  872.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  873.         IMPORT_CFM_FUNCTION MPPOpen
  874.     ENDIF
  875.  
  876. ;
  877. ; pascal OSErr LAPAddATQ(ATQEntryPtr theATQEntry)
  878. ;
  879.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  880.         IMPORT_CFM_FUNCTION LAPAddATQ
  881.     ENDIF
  882.  
  883. ;
  884. ; pascal OSErr LAPRmvATQ(ATQEntryPtr theATQEntry)
  885. ;
  886.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  887.         IMPORT_CFM_FUNCTION LAPRmvATQ
  888.     ENDIF
  889.  
  890. ;
  891. ; pascal OSErr ATPLoad(void )
  892. ;
  893.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  894.         IMPORT_CFM_FUNCTION ATPLoad
  895.     ENDIF
  896.  
  897. ;
  898. ; pascal OSErr ATPUnload(void )
  899. ;
  900.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  901.         IMPORT_CFM_FUNCTION ATPUnload
  902.     ENDIF
  903.  
  904. ;
  905. ; pascal OSErr NBPExtract(Ptr theBuffer, short numInBuf, short whichOne, EntityName *abEntity, AddrBlock *address)
  906. ;
  907.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  908.         IMPORT_CFM_FUNCTION NBPExtract
  909.     ENDIF
  910.  
  911. ;
  912. ; pascal OSErr GetNodeAddress(short *myNode, short *myNet)
  913. ;
  914.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  915.         IMPORT_CFM_FUNCTION GetNodeAddress
  916.     ENDIF
  917.  
  918. ;
  919. ; pascal Boolean IsMPPOpen(void )
  920. ;
  921.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  922.         IMPORT_CFM_FUNCTION IsMPPOpen
  923.     ENDIF
  924.  
  925. ;
  926. ; pascal Boolean IsATPOpen(void )
  927. ;
  928.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  929.         IMPORT_CFM_FUNCTION IsATPOpen
  930.     ENDIF
  931.  
  932. ;
  933. ; pascal void ATEvent(long event, Ptr infoPtr)
  934. ;
  935.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  936.         IMPORT_CFM_FUNCTION ATEvent
  937.     ENDIF
  938.  
  939. ;
  940. ; pascal OSErr ATPreFlightEvent(long event, long cancel, Ptr infoPtr)
  941. ;
  942.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  943.         IMPORT_CFM_FUNCTION ATPreFlightEvent
  944.     ENDIF
  945.  
  946. ;    The following routines are obsolete and will not be supported on
  947. ;    PowerPC. Equivalent functionality is provided by the routines
  948. ;    above.
  949. ;
  950.  
  951.     IF TARGET_CPU_68K THEN
  952. ;
  953. ; pascal OSErr MPPClose(void )
  954. ;
  955.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  956.         IMPORT_CFM_FUNCTION MPPClose
  957.     ENDIF
  958.  
  959. ;
  960. ; pascal OSErr LAPOpenProtocol(ABByte theLAPType, Ptr protoPtr)
  961. ;
  962.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  963.         IMPORT_CFM_FUNCTION LAPOpenProtocol
  964.     ENDIF
  965.  
  966. ;
  967. ; pascal OSErr LAPCloseProtocol(ABByte theLAPType)
  968. ;
  969.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  970.         IMPORT_CFM_FUNCTION LAPCloseProtocol
  971.     ENDIF
  972.  
  973. ;
  974. ; pascal OSErr LAPWrite(ATLAPRecHandle abRecord, Boolean async)
  975. ;
  976.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  977.         IMPORT_CFM_FUNCTION LAPWrite
  978.     ENDIF
  979.  
  980. ;
  981. ; pascal OSErr LAPRead(ATLAPRecHandle abRecord, Boolean async)
  982. ;
  983.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  984.         IMPORT_CFM_FUNCTION LAPRead
  985.     ENDIF
  986.  
  987. ;
  988. ; pascal OSErr LAPRdCancel(ATLAPRecHandle abRecord)
  989. ;
  990.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  991.         IMPORT_CFM_FUNCTION LAPRdCancel
  992.     ENDIF
  993.  
  994. ;
  995. ; pascal OSErr DDPOpenSocket(short *theSocket, Ptr sktListener)
  996. ;
  997.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  998.         IMPORT_CFM_FUNCTION DDPOpenSocket
  999.     ENDIF
  1000.  
  1001. ;
  1002. ; pascal OSErr DDPCloseSocket(short theSocket)
  1003. ;
  1004.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1005.         IMPORT_CFM_FUNCTION DDPCloseSocket
  1006.     ENDIF
  1007.  
  1008. ;
  1009. ; pascal OSErr DDPRead(ATDDPRecHandle abRecord, Boolean retCksumErrs, Boolean async)
  1010. ;
  1011.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1012.         IMPORT_CFM_FUNCTION DDPRead
  1013.     ENDIF
  1014.  
  1015. ;
  1016. ; pascal OSErr DDPWrite(ATDDPRecHandle abRecord, Boolean doChecksum, Boolean async)
  1017. ;
  1018.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1019.         IMPORT_CFM_FUNCTION DDPWrite
  1020.     ENDIF
  1021.  
  1022. ;
  1023. ; pascal OSErr DDPRdCancel(ATDDPRecHandle abRecord)
  1024. ;
  1025.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1026.         IMPORT_CFM_FUNCTION DDPRdCancel
  1027.     ENDIF
  1028.  
  1029. ;
  1030. ; pascal OSErr ATPOpenSocket(AddrBlock addrRcvd, short *atpSocket)
  1031. ;
  1032.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1033.         IMPORT_CFM_FUNCTION ATPOpenSocket
  1034.     ENDIF
  1035.  
  1036. ;
  1037. ; pascal OSErr ATPCloseSocket(short atpSocket)
  1038. ;
  1039.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1040.         IMPORT_CFM_FUNCTION ATPCloseSocket
  1041.     ENDIF
  1042.  
  1043. ;
  1044. ; pascal OSErr ATPSndRequest(ATATPRecHandle abRecord, Boolean async)
  1045. ;
  1046.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1047.         IMPORT_CFM_FUNCTION ATPSndRequest
  1048.     ENDIF
  1049.  
  1050. ;
  1051. ; pascal OSErr ATPRequest(ATATPRecHandle abRecord, Boolean async)
  1052. ;
  1053.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1054.         IMPORT_CFM_FUNCTION ATPRequest
  1055.     ENDIF
  1056.  
  1057. ;
  1058. ; pascal OSErr ATPReqCancel(ATATPRecHandle abRecord, Boolean async)
  1059. ;
  1060.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1061.         IMPORT_CFM_FUNCTION ATPReqCancel
  1062.     ENDIF
  1063.  
  1064. ;
  1065. ; pascal OSErr ATPGetRequest(ATATPRecHandle abRecord, Boolean async)
  1066. ;
  1067.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1068.         IMPORT_CFM_FUNCTION ATPGetRequest
  1069.     ENDIF
  1070.  
  1071. ;
  1072. ; pascal OSErr ATPSndRsp(ATATPRecHandle abRecord, Boolean async)
  1073. ;
  1074.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1075.         IMPORT_CFM_FUNCTION ATPSndRsp
  1076.     ENDIF
  1077.  
  1078. ;
  1079. ; pascal OSErr ATPAddRsp(ATATPRecHandle abRecord)
  1080. ;
  1081.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1082.         IMPORT_CFM_FUNCTION ATPAddRsp
  1083.     ENDIF
  1084.  
  1085. ;
  1086. ; pascal OSErr ATPResponse(ATATPRecHandle abRecord, Boolean async)
  1087. ;
  1088.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1089.         IMPORT_CFM_FUNCTION ATPResponse
  1090.     ENDIF
  1091.  
  1092. ;
  1093. ; pascal OSErr ATPRspCancel(ATATPRecHandle abRecord, Boolean async)
  1094. ;
  1095.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1096.         IMPORT_CFM_FUNCTION ATPRspCancel
  1097.     ENDIF
  1098.  
  1099. ;
  1100. ; pascal OSErr NBPRegister(ATNBPRecHandle abRecord, Boolean async)
  1101. ;
  1102.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1103.         IMPORT_CFM_FUNCTION NBPRegister
  1104.     ENDIF
  1105.  
  1106. ;
  1107. ; pascal OSErr NBPLookup(ATNBPRecHandle abRecord, Boolean async)
  1108. ;
  1109.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1110.         IMPORT_CFM_FUNCTION NBPLookup
  1111.     ENDIF
  1112.  
  1113. ;
  1114. ; pascal OSErr NBPConfirm(ATNBPRecHandle abRecord, Boolean async)
  1115. ;
  1116.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1117.         IMPORT_CFM_FUNCTION NBPConfirm
  1118.     ENDIF
  1119.  
  1120. ;
  1121. ; pascal OSErr NBPRemove(EntityPtr abEntity)
  1122. ;
  1123.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1124.         IMPORT_CFM_FUNCTION NBPRemove
  1125.     ENDIF
  1126.  
  1127. ;
  1128. ; pascal OSErr NBPLoad(void )
  1129. ;
  1130.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1131.         IMPORT_CFM_FUNCTION NBPLoad
  1132.     ENDIF
  1133.  
  1134. ;
  1135. ; pascal OSErr NBPUnload(void )
  1136. ;
  1137.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1138.         IMPORT_CFM_FUNCTION NBPUnload
  1139.     ENDIF
  1140.  
  1141.     ENDIF    ; TARGET_CPU_68K
  1142.     ENDIF ; __APPLETALK__ 
  1143.  
  1144.